import random
import string

def generate_test_case(length=None):
    """生成测试用例字符串"""
    if length is None:
        length = random.randint(1, 1000)
    
    # 随机决定是否生成回文串
    if random.random() < 0.1:  # 10%概率生成回文串
        # 生成长度为 half_len 的随机字符串
        half_len = length // 2
        half = ''.join(random.choices(string.ascii_lowercase, k=half_len))
        if length % 2 == 0:
            return half + half[::-1]  # 偶数长度回文串
        else:
            # 奇数长度回文串
            middle = random.choice(string.ascii_lowercase)
            return half + middle + half[::-1]
    else:
        # 随机字符串
        return ''.join(random.choices(string.ascii_lowercase, k=length))

def generate_test_cases(num_cases=10):
    """生成多个测试用例"""
    test_cases = []
    # 确保包含一些特殊情况
    test_cases.append("")  # 空字符串
    test_cases.append("a")  # 单字符
    test_cases.append("aa")  # 双相同字符
    test_cases.append("ab")  # 双不同字符
    test_cases.append("abcba")  # 奇数长度回文
    test_cases.append("abccba")  # 偶数长度回文
    test_cases.append("abc")  # 非回文
    
    # 生成随机测试用例
    for _ in range(num_cases - len(test_cases)):
        test_cases.append(generate_test_case())
    
    return test_cases

if __name__ == "__main__":
    # 生成并打印测试用例
    cases = generate_test_cases(5)
    for i, case in enumerate(cases):
        print(f"Test Case {i+1}: {case}")    